package com.czp.job.service;

import com.czp.job.model.Job;
import com.czp.job.model.RelationPerson;

/**
 * 【环 境】：J2SE 1.7
 * @author   柴志鹏	CHAIZP@GMAIL.COM
 * @version  version 1.0
 * @since    2014-7-17
 */
public interface IJobService {
	/** 
	 * 【描 述】：查询岗位信息
	 * @param Job
	 * @return 岗位Json
	 * @throws Exception
	 */
	String queryJobList(Job job) throws Exception;
	
	/** 
	 * 【描 述】：添加、修改岗位信息
	 * @param Job(岗位Id，岗位名称，启用状态)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int jobController(Job job) throws Exception;
	
	/** 
	 * 【描 述】：通过岗位Id查询下属信息
	 * @param jobId岗位Id
	 * @return 下属Json
	 * @throws Exception
	 */
	String querySubordinateByJobId(String jobId) throws Exception;
	
	/** 
	 * 【描 述】：根据岗位Id查询人员信息
	 * @param jobId岗位Id
	 * @return 人员Json
	 * @throws Exception
	 */
	String queryPersonByJobId(String jobId) throws Exception;
	
	/** 
	 * 【描 述】：批量取消下属岗位
	 * @param jsonData(岗位关联Id)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int deleteRelationJob(String jsonData) throws Exception;
	
	/** 
	 * 【描 述】：删除岗位人员
	 * @param jsonData(关联人员Id)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int deleteRelationPerson(String jsonData) throws Exception;
	
	/** 
	 * 【描 述】：查询全部与被选中的人员
	 * @param RelationPerson(岗位Id,人员名称)
	 * @return 人员Json
	 * @throws Exception
	 */
	String getSelectedPersonList(RelationPerson relPerson) throws Exception;
	
	/** 
	 * 【描 述】：授权、取消人员信息
	 * @param jsonData(岗位Id，人员Id)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int relationPersonController(String jsonData) throws Exception;
	
	/** 
	 * 【描 述】：获取可选岗位信息
	 * @param jobId岗位Id
	 * @return 岗位Json
	 * @throws Exception
	 */
	String getOptionalJob(String jobId) throws Exception; 
	
	/** 
	 * 【描 述】：获取已选岗位信息
	 * @param jobId岗位Id
	 * @return 岗位Json
	 * @throws Exception
	 */
	String getSelectedJob(String jobId) throws Exception;
	
	/** 
	 * 【描 述】：操作下属分配
	 * @param jsonData(岗位Id，操作状态)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int relationJobController(String jsonData) throws Exception;
}
